package com.xinggq.pay.service.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 支付渠道回调记录表实体
 *
 * @author system
 * @since 2025/1/10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("pay_callback")
public class PayCallbackEntity {

  /**
   * 主键ID
   */
  @TableId(value = "id", type = IdType.AUTO)
  private Long id;

  @NotBlank(message = "应用ID不能为空")
  private Long appId;
  /**
   * 支付平台内部订单号
   */
  private String tradeNo;

  /**
   * 渠道订单编号
   */
  private String channelTradeNo;
  /**
   * 商户侧订单号
   */
  private String merchantTradeNo;
  /**
   * 支付渠道类型(WECHAT/ALIPAY/YSE等)
   */
  private String channelType;
  /**
   * 回调状态(1:处理成功 2:处理失败)
   */
  private String callbackStatus;

  /**
   * 回调数据
   */
  private String callbackData;
  /**
   * 处理失败原因
   */
  private String errorMsg;

}